Ansible playbooks to manage Redpanda Connect#239
Ansible playbooks to manage Redpanda Connect#239bfbarkhouse-redpanda wants to merge 22 commits intoredpanda-data:mainfrom
Conversation
hcoyote
left a comment
There was a problem hiding this comment.
overall, like the idea. This probably needs to go into redpanda-ansible-collection instead of here. Let's discuss with @gene-redpanda in slack.
ansible/stage-rpcn-ent.yml
Outdated
| - name: Build download URL for rpk zip | ||
| set_fact: | ||
| rpk_zip_url: "https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-linux-{{ rpk_arch }}.zip" | ||
|
|
There was a problem hiding this comment.
We've got deb/rpm packages for rpk, can we use those instead? This significantly simplifies deployment work and aligns with how we generally deploy on bare-os.
ansible/stage-rpcn-ent.yml
Outdated
| # --- Ensure target directory exists before unarchive --- | ||
| - name: Ensure /opt exists | ||
| file: | ||
| path: /opt | ||
| state: directory | ||
| mode: "0755" | ||
|
|
||
| - name: Ensure target directory exists | ||
| file: | ||
| path: "{{ rpcn_dir }}" | ||
| state: directory | ||
| owner: root | ||
| group: root | ||
| mode: "0755" | ||
|
|
There was a problem hiding this comment.
This whole section would go away with the os packages for rpk I think
| @@ -0,0 +1 @@ | |||
| #Paste license key here | |||
There was a problem hiding this comment.
We probably should follow the same license install pattern that's used in redpanda-ansible-collection
ansible/rpcn_files/rpcn-ent.service
Outdated
| After=network.target | ||
|
|
||
| [Service] | ||
| ExecStart=/opt/rpcn/rpk connect run /opt/rpcn/pipeline.yaml |
There was a problem hiding this comment.
Should this be templated so you can run more than one rpcn pipeline per node?
ansible/rpcn_files/rpcn.service
Outdated
| After=network.target | ||
|
|
||
| [Service] | ||
| ExecStart=/opt/rpcn/rpk connect run /opt/rpcn/pipeline.yaml |
There was a problem hiding this comment.
same comment here about templating to run more than one pipeline per node
We don't have much tooling to operate a fleet of self-managed Redpanda Connect nodes, so I created three simple Ansible playbooks to 1.) stage RPCN as a systemd service, 2.) update a pipeline config and restart the service and 3. )stop the service. I've included versions of each playbook for CE and Enterprise. The main difference with Enterprise is it allows you stage a redpanda.license file.